#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
int main()
{

    // 创建两个管道
    mkfifo("/home/gec/pipe", 0777);
    mkfifo("/home/gec/pipe1", 0777);

    // 打开管道pipe
    int fd = open("/home/gec/pipe", O_RDWR);
    if (fd == -1)
    {
        perror("open");
        return 1;
    }

    // 打开管道pipe1
    int fd1 = open("/home/gec/pipe1", O_RDWR);
    if (fd1 == -1)
    {
        perror("open");
        return 1;
    }

    pid_t pid = fork();
    if (pid == 0)
    {
        // 往pipe 管道中写入数据
        while (1)
        {
            printf("请输入发送的数据:");
            char buf[1024] = {0};
            scanf("%s", buf);
            write(fd, buf, strlen(buf)); // 写入管道中
        }
    }

    if (pid > 0)
    {
        // 读取 pipe1 管道中的数据
        while (1)
        {
            char buf[1024] = {0};
            read(fd1, buf, sizeof(buf)); // 读取管道中的数据
            printf("接收到的数据:%s\n", buf);
        }
    }

    return 0;
}